package com.ds.lens.data.common.integration.apm.document;


import com.ds.lens.data.common.constant.LayerEnum;
import com.ds.lens.data.common.constant.TypeEnum;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;

/**
 * @author ethan
 */
@Setter
@Getter
public class RefinedSpanExtraContext implements Serializable {

    public String parentInstanceId;

    public String parentTierId;

    public String parentAppId;

    public String childInstanceId;

    public String childTierId;

    public String childAppId;

    public List<String> spanRefererList;

    public String spanTransactionName;

    public String agentTransactionName;

    public String component;

    public String operationType;

    public TypeEnum type;

    public LayerEnum layer;

    public String address;

    public Boolean transformed;

    public int elapsed;

    public int selfElapsed;

    // ignore children instance
    public int instanceInternalElapsed;

    // igonre children instance, rpc, db
    public int instanceInternalIgnoreRemoteCallElapsed;

    public boolean traceError;

    public boolean instanceRoot;

    public boolean tierRoot;

    public boolean appRoot;

}
